// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出按钮公共 ============================== //

export default {
  // —————————————————————————————— 事件 —————————————————————————————— //

  // 可传 :onClick 来覆盖默认事件，不传则在默认事件后触发 @click
  onClick: { type: Function, default: null }, // 点击事件 (优先级最高)

  // 默认事件的状态提交方法
  mutation: { type: String, default: '' }, // 状态提交的方法名称
  payload: { default: undefined }, // 状态提交的参数载荷

  // —————————————————————————————— 宽度 —————————————————————————————— //

  width: { type: [Number, String], default: null }, // 宽度

  // —————————————————————————————— 图标，优先递减 —————————————————————————————— //

  img: { type: String, default: '' }, // 图片 (以 /common 或 http 开头)
  icon: { type: String, default: '' }, // 图标 (以 el-icon-* 或 iconfont 开头)

  // —————————————————————————————— 独立标题，优先级高 —————————————————————————————— //

  title: { type: String, default: '' }, // 独立的标题

  // —————————————————————————————— 拼接标题，优先级低 —————————————————————————————— //

  verb: { type: String, default: '' }, // 拼接的动词
  word: { type: String, default: '' }, // 拼接的词语

  // —————————————————————————————— 尺寸，优先级递减 —————————————————————————————— //

  ...CORE.WEB.BASE.SIZE,

  // —————————————————————————————— 类型，优先级递减 —————————————————————————————— //

  primary: { type: Boolean, default: false }, // 是否为主要按钮
  success: { type: Boolean, default: false }, // 是否为成功按钮
  warning: { type: Boolean, default: false }, // 是否为警告按钮
  danger: { type: Boolean, default: false }, // 是否为危险按钮
  info: { type: Boolean, default: false }, // 是否为信息按钮
  text: { type: Boolean, default: false }, // 是否为文本按钮

  initType: { type: String, default: '' }, // 默认类型 (空/primary/success/warning/danger/info/text)

  // —————————————————————————————— 其他 —————————————————————————————— //

  plain: { type: Boolean, default: false }, // 是否为朴素按钮
  round: { type: Boolean, default: false }, // 是否为圆角按钮
  circle: { type: Boolean, default: false }, // 是否为圆形按钮
  loading: { type: Boolean, default: false }, // 是否为加载中状态
  disabled: { type: Boolean, default: false }, // 是否为禁用状态

  // —————————————————————————————— 原生属性 —————————————————————————————— //

  elProps: { type: Object, default: () => ({}) }, // el-button 原生配置项
}
